import java.util.Date;

public class AnthropometryData
{
    private AnthropometryData()
    {
    	date = new Date();
        currentWeight = 0;
        targetWeight = 0;
        size = 0;
        c_subscapularis = 0;
        c_tricep = 0;
        c_bicep = 0;
        c_forearm = 0;
        c_supraspinal = 0;
        c_suprailiac = 0;
        c_abdLeft = 0;
        c_abdRight = 0;
        c_thigh = 0;
        c_leg = 0;
        c_pectoral = 0;
        g_relaxedArm = 0;
        g_contractedArm = 0;
        g_forearm = 0;
        g_wrist = 0;
        g_chest = 0;
        g_abdominal = 0;
        g_gluteal = 0;
        g_thigh = 0;
        g_leg = 0;
        d_humeral = 0;
        d_femoral = 0;
        d_bioestiloideo = 0;
    }
    public Date getDate()
    {
        return date;
    }
    public float getAnthropometryValue(ID.A id)
    {
        switch(id)
        {
            case CURRRENT_WEIGHT:
                return currentWeight;
            case TARGET_WEIGHT:
                return targetWeight;
            case SIZE:
                return size;
            default:
                return -1;
        }
    }
    public float getAnthropometryValue(ID.A_CREASE id)
    {
        switch(id)
        {
            case SUBSCAPULARIS:
                return c_subscapularis;
            case TRICEP:
                return c_tricep;
            case BICEP:
                return c_bicep;
            case FOREARM:
                return c_forearm;
            case SUPRASPINAL:
                return c_supraspinal;
            case SUPRAILIAC:
                return c_suprailiac;
            case ABD_LEFT:
                return c_abdLeft;
            case ABD_RIGHT:
                return c_abdRight;
            case THIGH:
                return c_thigh;
            case LEG:
                return c_leg;
            case PECTORAL:
                return c_pectoral;
            default:
                return -1;
        }
    }
    public float getAnthropometryValue(ID.A_GIRTH id)
    {
        switch(id)
        {
            case RELAXED_ARM:
                return g_relaxedArm;
            case CONTRACTED_ARM:
                return g_contractedArm;
            case FOREARM:
                return g_forearm;
            case WRIST:
                return g_wrist;
            case CHEST:
                return g_chest;
            case ABDOMINAL:
                return g_abdominal;
            case GLUTEAL:
                return g_gluteal;
            case THIGH:
                return g_thigh;
            case LEG:
                return g_leg;
            default:
                return -1;
        }
    }
    public float getAnthropometryValue(ID.A_DIAMETER id)
    {
        switch(id)
        {
            case HUMERAL:
                return d_humeral;
            case FEMORAL:
                return d_femoral;
            case BIOESTILOIDEO:
                return d_bioestiloideo;
            default:
                return -1;
        }
    }
    public void setDate(Date date_)
    {
        date = date_;
    }
    public void setAnthropometryValue(ID.A id, float value)
    {
        switch(id)
        {
            case CURRRENT_WEIGHT:
                currentWeight = value;
                break;
            case TARGET_WEIGHT:
                targetWeight = value;
                break;
            case SIZE:
                size = value;
                break;
            default:
                return;
        }
    }
    public void setAnthropometryValue(ID.A id, String value)
    {
        switch(id)
        {
            case CURRRENT_WEIGHT:
                currentWeight = new Float(value);
                break;
            case TARGET_WEIGHT:
                targetWeight = new Float(value);
                break;
            case SIZE:
                size = new Float(value);
                break;
            default:
                return;
        }
    }
    public void setAnthropometryValue(ID.A_CREASE id, float value)
    {
        switch(id)
        {
            case SUBSCAPULARIS:
                c_subscapularis = value;
                break;
            case TRICEP:
                c_tricep = value;
                break;
            case BICEP:
                c_bicep = value;
                break;
            case FOREARM:
                c_forearm = value;
                break;
            case SUPRASPINAL:
                c_supraspinal = value;
                break;
            case SUPRAILIAC:
                c_suprailiac = value;
                break;
            case ABD_LEFT:
                c_abdLeft = value;
                break;
            case ABD_RIGHT:
                c_abdRight = value;
                break;
            case THIGH:
                c_thigh = value;
                break;
            case LEG:
                c_leg = value;
                break;
            case PECTORAL:
                c_pectoral = value;
                break;
            default:
                return;
        }
    }
    public void setAnthropometryValue(ID.A_CREASE id, String value)
    {
        switch(id)
        {
            case SUBSCAPULARIS:
                c_subscapularis = new Float(value);
                break;
            case TRICEP:
                c_tricep = new Float(value);
                break;
            case BICEP:
                c_bicep = new Float(value);
                break;
            case FOREARM:
                c_forearm = new Float(value);
                break;
            case SUPRASPINAL:
                c_supraspinal = new Float(value);
                break;
            case SUPRAILIAC:
                c_suprailiac = new Float(value);
                break;
            case ABD_LEFT:
                c_abdLeft = new Float(value);
                break;
            case ABD_RIGHT:
                c_abdRight = new Float(value);
                break;
            case THIGH:
                c_thigh = new Float(value);
                break;
            case LEG:
                c_leg = new Float(value);
                break;
            case PECTORAL:
                c_pectoral = new Float(value);
                break;
            default:
                return;
        }
    }
    public void setAnthropometryValue(ID.A_GIRTH id, float value)
    {
        switch(id)
        {
            case RELAXED_ARM:
                g_relaxedArm = value;
                break;
            case CONTRACTED_ARM:
                g_contractedArm = value;
                break;
            case FOREARM:
                g_forearm = value;
                break;
            case WRIST:
                g_wrist = value;
                break;
            case CHEST:
                g_chest = value;
                break;
            case ABDOMINAL:
                g_abdominal = value;
                break;
            case GLUTEAL:
                g_gluteal = value;
                break;
            case THIGH:
                g_thigh = value;
                break;
            case LEG:
                g_leg = value;
                break;
            default:
                return;
        }
    }
    public void setAnthropometryValue(ID.A_GIRTH id, String value)
    {
        switch(id)
        {
            case RELAXED_ARM:
                g_relaxedArm = new Float(value);
                break;
            case CONTRACTED_ARM:
                g_contractedArm = new Float(value);
                break;
            case FOREARM:
                g_forearm = new Float(value);
                break;
            case WRIST:
                g_wrist = new Float(value);
                break;
            case CHEST:
                g_chest = new Float(value);
                break;
            case ABDOMINAL:
                g_abdominal = new Float(value);
                break;
            case GLUTEAL:
                g_gluteal = new Float(value);
                break;
            case THIGH:
                g_thigh = new Float(value);
                break;
            case LEG:
                g_leg = new Float(value);
                break;
            default:
                return;
        }
    }
    public void setAnthropometryValue(ID.A_DIAMETER id, float value)
    {
        switch(id)
        {
            case HUMERAL:
                d_humeral = value;
                break;
            case FEMORAL:
                d_femoral = value;
                break;
            case BIOESTILOIDEO:
                d_bioestiloideo = value;
                break;
            default:
                return;
        }
    }
    public void setAnthropometryValue(ID.A_DIAMETER id,String value)
    {
        switch(id)
        {
            case HUMERAL:
                d_humeral = new Float(value);
                break;
            case FEMORAL:
                d_femoral = new Float(value);
                break;
            case BIOESTILOIDEO:
                d_bioestiloideo = new Float(value);
                break;
            default:
                return;
        }
    }
    public static AnthropometryData getAnthropometry()
    {
        return new AnthropometryData();
    }
    
    private Date date;
    //Size
    public float currentWeight;
    public float targetWeight;
    public float size;
    //Crease
    public float c_subscapularis;
    public float c_tricep;
    public float c_bicep;
    public float c_forearm;
    public float c_supraspinal;
    public float c_suprailiac;
    public float c_abdLeft;
    public float c_abdRight;
    public float c_thigh;
    public float c_leg;
    public float c_pectoral;
    //Girth
    public float g_relaxedArm;
    public float g_contractedArm;
    public float g_forearm;
    public float g_wrist;
    public float g_chest;
    public float g_abdominal;
    public float g_gluteal;
    public float g_thigh;
    public float g_leg;
    //Diameter
    public float d_humeral;
    public float d_femoral;
    public float d_bioestiloideo;
}